Crane control system

ABSTRACT

This crane control system with swing control and variable impedance is intended for use with overhead cranes where a line suspended from a moveable hoist suspends a load. It is responsive to operator force applied to the load and uses a control strategy based on estimating the force applied by the operator to the load and, subject to a variable desired load impedance, reacting in response to this estimate. The human pushing force on the load is not measured directly, but is estimated from measurement of the angle of deflection of the line suspending the load and measurement of hoist position.

[0001] This application claims the benefit of U. S. Provisional Application No. 60/267,850, filed on Feb. 9, 2001, which provisional application is incorporated by reference herein.

TECHNICAL FIELD

[0002] Overhead and jib cranes that can be driven to move a lifted load in a horizontal direction.

BACKGROUND

[0003] Suggestions have been made for power-driven cranes to move a hoisted load laterally in response to manual effort applied by a worker pushing on the lifted load. A sensing system determines from manual force input by a worker the direction and extent that the load is desired to be moved, and the crane responds to this by driving responsively to move the lifted load to the desired position. Examples of such suggestions include U.S. Pat. Nos 5,350,075 and 5,850,928 and Japanese Patent JP2018293.

[0004] A problem encountered by such systems is a pendulum effect of the lifted load swinging back and forth. For example, when the crane starts moving in a desired direction, the mass of the load momentarily lags behind. It then swings toward the desired direction. A sensing system included in the crane can misinterpret such pendulum swings for worker input force. This can result in the crane driving in one direction, establishing a pendulum swing in the opposite direction, sensing that as a reverse direction indicator, and driving in the opposite direction. This results in a dithering motion. In effect, by misinterpreting pendulum swings as worker input force, the crane can misdirect the load in various ways that are not efficient or ergonomically satisfactory. Prior attempts at arriving at an inventive solution to this problem have focused on suppressing oscillations of the load while the crane is accelerating or decelerating.

SUMMARY OF THE INVENTION

[0005] We consider swing suppression to be secondary. In our view, it is more important to control the impedance felt by the operator pushing on the hoisted load. Thus, we have developed an inventive solution that uses a control strategy based on estimating the force applied by the operator to the load and, subject to a variable desired load impedance, reacting in response to this estimate. The human pushing force is not measured directly, but it is estimated from angle and position measurements. In effect, our control strategy places the human operator in the outer control loop via an impedance block that is used in making trajectory generalizations.

DRAWINGS

[0006]FIG. 1 is a schematic view illustrating the general form of a crane system of the type used with this invention.

[0007]FIG. 2 is a schematic diagram providing additional detail regarding an arrangement of sensors suitable for use with this invention.

[0008]FIG. 3 provides a first schematic view of the pendulum-like features of the hoist/load system.

[0009]FIG. 4 provides a schematic control system diagram for this invention.

[0010]FIG. 5 provides a unified schematic view of the hoist/load linear system.

[0011]FIG. 6 provides a second schematic view illustrating the pendulum-like features of the hoist/load system.

DETAILED DESCRIPTION

[0012] 1. General Physical System Description

[0013]FIGS. 1 and 2 illustrate a crane system 10 with a hoist 50 supporting a lifted load 20. An operator 11 pushing on load 20 as illustrated can urge load 20 in a desired direction of movement. Sensors 25 are arranged to sense the direction and angle by which line 21 is deflected due to operator 11 pushing on load 20. Crane system 10 then responds to input force by operator 11 and uses crane drive 45 to drive sensors 25 and hoist 50 to the desired location for lowering load 20.

[0014] Crane drive 45 is typically a hoist trolley controlled by crane control 40. However, it could also be a moveable crane bridge controlled by crane control 40. Sensors 25 constitute a x sensor 32 and a y sensor 33 arranged perpendicular to each other to respectively sense x and y direction swing movements of load 20. Sensors 32 and 33 can have a variety of forms including mechanical, electromechanical, and optical. Preferences among these forms include linear encoders, optical encoders, and electrical devices responsive to small movements. Sensors 32 and 33 are connected with crane control 40 to supply both amplitude and directional information on movement sensed. Where it is important for crane control 40 to know the mass of any load 20 involved in the movement, the force or mass of load 20 is preferably sensed by a load cell or strain gauge 35 intermediate crane drive 45 and hoist 50. However, other possibilities can also be used, such as a load sensor incorporated into or suspended below hoist 50. The location/position of hoist 50 can be supplied to crane control 40 using means well known in the art.

[0015] As previously noted, a control software system for crane control 40 receives data of the type specified above and actuates crane drive 45, which moves the crane trolley and/or bridge in the direction indicated by the worker. Since load 20 is supported on cable 21 suspended from hoist 50, load 20 and cable 21 act as a pendulum swinging below hoist 50. As drive 45 in crane 10 moves load 20 horizontally in response to force input from worker 11, pendulum effects of load 20 and hoist 50 can occur in addition to desired-direction-of-movement-force input by worker 11. The control software system of crane control 40 must be able to deal with this problem as well as with the general problem of responding appropriately to force input from worker 11.

[0016] 2. Mathematical Description of the System

[0017] The problems arising from the pendulum effects of load 20 can be dealt with more easily by considering each axis of motion to be decoupled—i.e.—as if the motion of the x and y axes are independent. Each axis can then be modeled separately, as in FIG. 3, as a simple pendulum with a point of support that changes its position along the specified axis. The system on each axis contains a load 20 with mass (m₂) attached through cable 21 to the crane drive 45 and hoist 50 (which is treated as a mass m₁) that can move along the horizontal axis. The nonlinear model for the x axis subsystem is given by:

M(q){umlaut over (q)}+C(q,{dot over (q)}){dot over (q)}+G(q)+F _(r)({dot over (q)})=τ  (1)

[0018] Where: $\begin{matrix} {{M(q)} = \begin{bmatrix} \left( {m_{1} + m_{2}} \right) & {m_{2}l\quad {\cos (\theta)}} \\ {m_{2}l\quad {\cos (\theta)}} & {m_{2}l^{2}} \end{bmatrix}} \\ {{C\left( {q,\overset{.}{q}} \right)} = \begin{bmatrix} 0 & {{- m_{2}}l\quad {\sin (\theta)}\overset{.}{\theta}} \\ 0 & 0 \end{bmatrix}} \\ {{G(q)} = \begin{bmatrix} 0 \\ {m_{2}{gl}\quad {\sin (\theta)}} \end{bmatrix}} \\ {{F_{r}\left( \overset{.}{q} \right)} = \begin{bmatrix} {{b_{1}{{sgn}\left( \overset{.}{x} \right)}} + {b_{2}\overset{.}{x}}} \\ {b_{\theta}\overset{.}{\theta}} \end{bmatrix}} \\ {\tau = \begin{bmatrix} {F_{x} + F_{hx}} \\ {{lF}_{hx}{\cos (\theta)}} \end{bmatrix}} \\ {q = \begin{bmatrix} x \\ \theta \end{bmatrix}} \end{matrix}$

[0019] Where l is the cable length, θ is the angle of the cable, b₂ is the viscous damping along the x axis, b₁ is the static friction along the x axis, b_(θ) denotes the viscous joint damping, F_(x) is the force applied to m₁ via crane drive 45 in response to signals received from crane control 40, and F_(hx) is the force applied to the load 20 by worker 11.

[0020] Substituting each matrix element into (1), leads to the two equations of motion (EOM) for the two generalized coordinates, position x and angle θ.

x: (m ₁ +m ₂){umlaut over (x)}+m ₂ lcos θ{dot over (θ)}−m ₂ lsin θ{dot over (θ)}² =F _(x) +F _(hx) −b ₂ {dot over (x)}−b ₁sign({dot over (x)})

θ: m ₂ lcos θ{umlaut over (x)}+m ₂ l ² {umlaut over (θ)}+m ₂ glsin θ=l?F _(hx)cos θb _(θ){dot over (θ)}

[0021] Where {dot over (x)},{umlaut over (x)},{dot over (θ)},{umlaut over (θ)} refer to the linear velocity, linear acceleration, angular velocity, and angular acceleration respectively.

[0022] a. The Linear Equation of Motion

[0023] The “X” equation of motion can be most easily understood by approaching the cart-pendulum system as a unified system. This system can be described using Newton's second law as (m₁+m₂){umlaut over (x)}=F_(x+)F_(hx). However, since m₂ is also rotating with an angular acceleration, it induces an active force onto the entire motion as well. (See. FIG. 6.) As the X equation of motion only deals with motion along the x-axis, the corresponding acceleration term with mass based on Newton's second law is then equal to m₂lcos θ{umlaut over (θ)}. The −m₂l sin θ{dot over (θ)}² term represents an interesting pseudo-force: the Coriolis force. Imagine when θ=0, the load 20 (m₂) rotates at a peak tangential velocity of l{dot over (θ)}. However, as θ increases, the velocity along the x-axis gets smaller in a similar manner to that of the acceleration. It is as if an opposing force is reducing the velocity. This force is analytically represented by the aforesaid negative term. Finally −b₂{dot over (x)}−b₁sgn({dot over (x)}) shows the opposing frictional forces on the system which is typically modeled as a viscous friction proportional to the velocity, and a coulomb friction that remains constant and against the direction of movement using sgn( ) to represent the direction of motion.

[0024] b. The Angular Equation of Motion

[0025] The θ equation of motion is simpler. Refer back to FIG. 6 and the equation m₂lcos θ{umlaut over (x)}+m₂l²{umlaut over (θ)}+m₂gl sin θ=l?F_(hx)cos θ−b_(θ){dot over (θ)}. Imagine that you are standing at the center of m₁, and looking at m₂. It's as if only load 20 (m₂) is rotating. Using Newton's second law in the torque version T=m₂{umlaut over (θ)}, we have l?F_(hx)cos θ=m₂l²{umlaut over (θ)}+m₂gl sin θ with m₂gl sin θ as the resisting torque fro the gravity effect on m₂. As the system is frictionous, the input torque is compensated by −b{dot over (θ)}. This is the viscous joint damping friction. Finally we must remember that since the entire system is accelerating at {umlaut over (x)}, m₂ in effect is also traveling at that rate. Thus, if m₁ suddenly slows down while the ball is still linearly moving at that original acceleration, you can expect m₂ to rise up and this effect is described by the m₂lcos θ{umlaut over (x)} term, which again follows Newton's second law.

[0026] c. Conclusion

[0027] Expressing (1) in the form {dot over (X)}=ƒ(X,u), with X=(xθ{dot over (x)}{dot over (θ)})^(T) we have that: $\begin{matrix} \begin{matrix} {\overset{.}{X} = \quad \begin{bmatrix} \overset{.}{x} \\ \overset{.}{\theta} \\ {{M^{- 1}(q)}\left( {{Uu} - {{C\left( {q,\overset{.}{q}} \right)}\overset{.}{q}} - {g(q)} - {F_{r}\left( \overset{.}{q} \right)}} \right)} \end{bmatrix}} \\ {{{where}\quad U} = \quad {{\begin{bmatrix} 1 & 1 \\ 0 & {l\quad {\cos (\theta)}} \end{bmatrix}\quad {and}\quad u} = {\left( \left\lbrack {F_{x}F_{hx}} \right\rbrack \right)^{T}\quad {so}}}} \\ {\overset{¨}{x} = \quad {\eta \quad m_{2}l\left( {l\left( {F + F_{h} - {b_{1}{{sgn}\left( \overset{.}{x} \right)}} - {b_{2}\overset{.}{x}} + -} \right.} \right.}} \\ {{\quad \left. {F_{h}{\cos (\theta)}^{2}} \right)} + {m_{2}l^{2}{\overset{.}{\theta}}^{2}{\sin (\theta)}} + {b_{\theta}\overset{.}{\theta}{{\cos (\theta)}++}}} \\ {\quad \left. {m_{2}{gl}\quad {\cos (\theta)}{\sin (\theta)}} \right)} \\ {\overset{¨}{\theta} = \quad {\eta\left( {m_{2}l\left( {{{- \left( {F - {b_{1}{{sgn}\left( \overset{.}{x} \right)}} - {b_{2}\overset{.}{x}}} \right)}{\cos (\theta)}} + -} \right.} \right.}} \\ {\left. \quad {{m_{2}l{\overset{.}{\theta}}^{2}{\cos (\theta)}{\sin (\theta)}} - {\left( {m_{1} + m_{2}} \right)g\quad {\sin (\theta)}}} \right)++} \\ \left. \quad {{m_{1}{lF}_{h}{\cos (\theta)}} - {\left( {m_{1} + m_{2}} \right)b_{\theta}\overset{.}{\theta}}} \right) \\ {{{where}\quad \eta} = \quad \frac{1}{m_{2}{l^{2}\left( {m_{1} + {m_{2}{\sin^{2}(\theta)}}} \right)}}} \end{matrix} & (2) \end{matrix}$

[0028] Linearizing the equation (2) around X*=(x, 0,0,0)^(T) we obtain:

{dot over (X)}=AX+Bu=AX+[B ₁ |B ₂ ]u  (3)

[0029] Where $\begin{matrix} \begin{matrix} {\overset{.}{X} = \quad {{{AX} + {Bu}} = {{AX} + {\left\lbrack {B_{1}B_{2}} \right\rbrack u}}}} \\ {{where}\quad} \\ {A = \quad \left\lbrack \frac{\begin{matrix} 0_{2 \times 2} & \quad & \quad & \quad & \quad & \quad & \quad & I_{2} \end{matrix}}{\begin{matrix} 0 & \frac{m_{2}g}{m_{1}} & {- \frac{b_{2}}{m_{1}}} & \frac{b_{\theta}}{m_{1}l} \\ 0 & {- \frac{\left( {m_{1} + m_{2}} \right)g}{m_{1}l}} & \frac{b_{2}}{m_{1}l} & {- \frac{\left( {m_{1} + m_{2}} \right)b_{\theta}}{m_{1}m_{2}l^{2}}} \end{matrix}} \right\rbrack} \\ {B = \quad \left\lbrack \frac{0_{2 \times 2}}{\begin{matrix} \frac{1}{m_{1}} & 0 \\ {- \frac{1}{m_{1}l}} & \frac{1}{m_{2}l} \end{matrix}} \right\rbrack} \end{matrix} & (3) \end{matrix}$

[0030] The measured states are the cable angle θ and the position x of m₁. Therefore, the output of the system is given by Y=CX, $\begin{matrix} {C = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 \end{bmatrix}} & (4) \end{matrix}$

[0031] A simple rank check shows that this nominal control system is both controllable and observable.

[0032] 3. Description of Control System

[0033] A schematic control system diagram for control 40 is shown in FIG. 4. In this implementation, each axis of movement is controlled independently, so we would usually use two crane controls with the same structure but with different parameters and settings. As a simplification, we only reference crane control 40 for the x-axis in the understanding that all the descriptions would also apply to a y axis control. This system is also based on the assumption that the force F_(hx) applied by operator 11 to load 20 (m₂) is not available through direct measurement and that the only input available are the position of m₁ and the cable angle, i.e. —x and θ. Based on this information, the system illustrated in FIG. 4 provides control input via control 40 resulting in the application of an appropriate force F_(x) to m₁ via crane drive 45.

[0034] As can be seen in FIG. 4, a linear observer block 41 is used to obtain an estimate of the force F_(hx). The dynamic equations of the observer block 41 are given by:

X=A _(e) {circumflex over (X)}+B _(e) F _(x) +LC _(e)(y−ŷ); y=[x,θ] ^(T)  (5)

[0035] Where: {circumflex over (X)}=[{circumflex over (x)},{circumflex over (θ)},{circumflex over ({dot over (x)})},{circumflex over ({dot over (θ)})},{circumflex over (F)}_(hx)]^(T) ${A_{e} = \begin{bmatrix} A &  & B_{2} \\ -- & + & -- \\ 0 &  & 0 \end{bmatrix}};{B_{e} = B_{1}}$ $C_{e} = \begin{bmatrix} 1 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 \end{bmatrix}$

[0036] This system is also controllable and observable. The pushing force F_(x) applied on the mass m₁ is given by: $\begin{matrix} {{F_{x} = \begin{Bmatrix} {{F_{x} - F_{combx}};{{F_{combx}}{\langle{b_{ls}\quad {and}\quad {\overset{.}{\hat{x}}}{\langle ɛ}}}}} \\ {{F_{x} - {b_{1}{{sgn}\left( \overset{.}{\hat{x}} \right)}}};\quad {otherwise}} \end{Bmatrix}}{{where}:}} & (6) \\ {F_{combx} = {F_{x} - {b_{2}\overset{.}{\hat{x}}} + {\frac{b_{\theta}}{l}\overset{.}{\hat{\theta}}} + {m_{2}g\quad \theta}}} & (7) \end{matrix}$

[0037] b_(1s) is the stiction on the x-axis and ε>0. Equations (6) and (7) describe the static friction compensation for the observer block 41, taking into account two cases:

[0038] (1) The static case when m₁ is at rest and the observer block 41 is that of a simple pendulum; and

[0039] (2) the case when m₁ is moving and the static friction is just subtracted from the control input F_(x).

[0040] In addition to the pushing force estimate, the observer block 41 also generates filtered values for the cart position, velocity, cable angle and angular velocity.

[0041] We use the estimated operator force to generate the desired position of the load by passing it through a desired impedance block 42:

M _(d) {umlaut over (x)} _(cd) +B _(d) {dot over (x)} _(cd) ={circumflex over (F)} _(h)  (8)

[0042] Where M_(d) is the desired mass, B_(d) is the desired damping and X_(cd) is the desired position of the load. Through the impedance block 42 we can specify a particular performance for the motion of the load 20. At the same time, the “feel” of the load for the worker 11 can be changed from very light with almost no damping, to heavy and viscous with extreme damping.

[0043] Since we don't have direct control on the position of the load 20, but on the position of m₁, we use a correction block 44 to calculate the term x_(cd) and {dot over (x)}_(cd) by:

x _(d) =x _(cd) +lsin θ  (9)

{dot over (x)} _(d) ={dot over (x)}cd +θlcos(θ)  (10)

[0044] Where X_(d) is the desired position of m₁.

[0045] The control block 43 we employ is a simple pole-placement controller, which is used to track the reference trajectory X=(x_(d),{dot over (x)}_(d), 0,0)^(T). There are a variety of other controllers that can be used here. Therefore, anti-swing is achieved with desired load impedance, if

F _(x) =K ₁(x _(d) −x)+K ₂({dot over (x)} _(d) −{circumflex over ({dot over (x)})})+K ₃θ+K₄{circumflex over ({dot over (θ)})}  (1)

[0046] Where K_(i), i=1, 2, 3, 4 are given by specific locations of the system poles.

[0047] In actual experimental implementation we have had to deal with the uncertainties in the parameters of the system, the variation of the friction along the runways for crane drive 45, the change of length of the cable 21, inaccuracies in the measurements of the angle θ, etc. All these differences between the model and the real system generate a non-zero observer force F_(hx) that can drive the crane in the absence of a pushing force. To fix this problem we used dead zones for some signals such as:

[0048] The angle of the wire, θ.

[0049] The estimated force applied to the loadθ{circumflex over (F)}_(hx).

[0050] The control signal F_(x).

[0051] The thresholds for these dead zones are also a function of the angular velocity, such that there is a larger dead zone band when the load 20 is swinging without any force applied to it, and a lower value when the load 20 is stationary and the operator 11 is applying a force to it.

[0052] Our invention presents a viable means for dealing with the problem of controlling an overhead crane using an estimation of the force applied to the load. Using a linearized system, a controller-observer was designated using the placement of the closed-loop poles for both the system and the observer. The controller structure was tested in both numerical simulations and then using an experimental setup. Due to parametric uncertainties and disturbances in the dynamical model of the system we used dead zones on the estimated applied force (F_(h)), the angle of the wire (θ, φ) and on the control signal (F). With the use of these nonlinear elements, we could work with a simple model of the system and yet obtain a relatively clean estimate of the force F_(h).

[0053] We performed tests with different loads and different cable lengths as well as with a constant load 20 and a constant length cable 21, and experimentally confirmed that the controller system is robust to variations to both m₂ and l 

We claim:
 1. A crane control system for controlling lateral movement of a hoist for a line bearing a load where operator force applied to the load in a lateral direction causes angular deflection of the line and sensing apparatus provide hoist position and angle of deflection measurements, said crane control system comprising a control system that receives said measurements and causes the hoist to move in a particular manner as a function of estimated operator force applied to the load, which estimated operator force is derived from said measurements.
 2. A crane control system as described in claim 1, wherein said control system operates without direct measurement of operator force applied to the load.
 3. A crane control system as described in claim 1, wherein a linear observer is used to obtain estimated operator applied force.
 4. A crane control system as described in claim 3, wherein said linear observer also generates filtered values for hoist position and velocity.
 5. A crane control system as described in claim 3, wherein said linear observer also generates filtered values for line angle of deflection and angular velocity.
 6. A crane control system as described in claim 1, wherein the manner in which said control system causes the hoist to move is also a function of a desired impedance that influences the responsiveness of the crane control system and can be used to damp load swing.
 7. A crane control system as described in claim 6, wherein said desired impedance is adjustable and thereby provides variable damping of load swing.
 8. A crane control system as described in claim 1, wherein said function further includes a desired impedance that influences the responsiveness of the crane control system and can be used to control the amount of inertia experienced by the operator in moving the load.
 9. A crane control system as described in claim 8, wherein said desired impedance is adjustable such that operator experienced inertia is variable.
 10. A crane control system as described in claim 1, wherein estimated operator force is used to generate the desired position of the load by passing it through a desired impedance block.
 11. A crane control system as described in claim 1, wherein a correction block is used to calculate the desired position of the hoist and the change in its desired position over time.
 12. A crane control system as described in claim 1, wherein a pole-placement controller is used to track a reference trajectory.
 13. A crane control system as described in claim 1, wherein a pole-placement controller assists in damping load swing.
 14. A crane control system for controlling lateral movement of a hoist for a line bearing a load where operator force applied to the load in a lateral direction causes angular deflection of the line and sensing apparatus provide hoist position and angle of deflection measurements, said crane control system comprising a control system that receives said measurements and causes the hoist to move in a particular manner as a function of estimated operator force applied to the load, a linear observer being used to obtain estimated operator force based on said measurements.
 15. A crane control system as described in claim 14, wherein said linear observer also generates filtered values for hoist position and velocity.
 16. A crane control system as described in claim 14, wherein said linear observer also generates filtered values for line angle of deflection and angular velocity.
 17. A crane control system as described in claim 14, wherein the manner in which said control system causes the hoist to move is also a function of a desired impedance that influences the responsiveness of the crane control system and can be used to damp load swing.
 18. A crane control system as described in claim 17, wherein said desired impedance is adjustable and thereby provides variable damping of load swing.
 19. A crane control system as described in claim 14, wherein said function further includes a desired impedance that influences the responsiveness of the crane control system and can be used to control the amount of inertia experienced by the operator in moving the load.
 20. A crane control system as described in claim 19, wherein said desired impedance is adjustable such that operator experienced inertia is variable.
 21. A crane control system as described in claim 14, wherein estimated operator force is used to generate the desired position of the load by passing it through a desired impedance block.
 22. A crane control system as described in claim 14, wherein a correction block is used to calculate the desired position of the hoist and the change in its desired position over time.
 23. A crane control system as described in claim 14, wherein a pole-placement controller is used to track a reference trajectory.
 24. A crane control system as described in claim 14, wherein a pole-placement controller assists in damping load swing.
 25. A crane control system as described in claim 14, wherein said control system operates without direct measurement of operator force applied to the load.
 26. A crane control system for controlling lateral movement of a hoist for a line bearing a load where operator force applied to the load in a lateral direction causes angular deflection of the line and sensing apparatus provide hoist position and angle of deflection measurements, said crane control system comprising: a linear observer using said measurements to generate an estimated operator force applied to the load; and a desired impedance block using the estimated operator force applied to the load to generate the desired position of the load.
 27. A crane control system as described in claim 26, wherein the desired impedance block generates the desired position of the load based on the following formula: M _(d) {umlaut over (x)} _(cd) +B _(d) {dot over (x)} _(cd) ={circumflex over (F)} _(h) Where {circumflex over (F)}_(h) is estimated operator force applied to the load, M_(d) is the desired mass, B_(d) is the desired damping and X_(cd) is the desired position of the load.
 28. A crane control system as described in claim 27, wherein a correction block is used to calculate the terms X_(cd) and {dot over (x)}_(cd) where X_(d) is the desired position of the hoist based on the following formulae: x _(d) = _(cd) +lsin θ{dot over (x)} _(d) ={dot over (x)} _(cd) +θlcos(θ
 29. A crane control system as described in claim 28, wherein a pole placement controller is used to track the reference trajectory X=[x_(d), {dot over (x)}_(d), 0, 0]^(T).
 30. A crane control system as described in claim 29, wherein anti-swing is achieved with a desired load impedance, when F_(x)=K₁(x_(d)−x)+K₂({dot over (x)}_(d)−{circumflex over ({dot over (x)})})+K₃θ+K₄{circumflex over ({dot over (θ)})} where K_(i), i=1,2,3,4 are given by specific locations of the system poles. 